package model;

import java.awt.Color;
import java.awt.Point;
import java.util.List;

/**
 * 
 * @author Charlie Hatcher
 * 
 */
public abstract class LinePen extends AbstractPen {

	private static final Color DEFAULT_COLOR = new Color(0, 0, 0);
	private static final int DEFAULT_THICKNESS = 10;

	private int myThickness;
	private Color myColor;

	public LinePen(Model model) {
		super(model);
		setColor(DEFAULT_COLOR);
		myThickness = DEFAULT_THICKNESS;
	}

	public void setThickness(int thickness) {
		myThickness = thickness;
	}

	/**
	 * Sets the pen's color
	 * 
	 * @param pen
	 *            color
	 */
	public void setColor(Color penColor) {
		myColor = penColor;
	}

	protected Color getColor() {
		return myColor;
	}

	protected int getThickness() {
		return myThickness;
	}

	public abstract void drawLineMovement(Pixmap pixmap, int speed,
			Point starting, int dx, int dy);

}
